mod btree;
mod btree_test;

use crate::data::log_record::LogRecodePos;

// 抽象索引接口 后续如果想要接入其他数据结构，则只需要实现这个接口
pub trait Indexer : Send + Sync {
   /// 向索引中存储key 对应的数据位置信息
   fn put(&self, key : Vec<u8>, pos : LogRecodePos) ->bool;
   /// 通过key 获取数据位置信息
   fn get(&self, key : Vec<u8>) -> Option<LogRecodePos>;

   /// 根据key 删除对应索引位置信息
   fn del(&self, key : Vec<u8>) -> bool;
}

